实时活动(LiveActivity)修饰符

Scripting 支持与 SwiftUI 等效的 Live Activity 外观控制修饰符。这些修饰符专门用于 锁屏(Lock Screen)中的 Live Activity 界面,用于自定义背景色和系统动作按钮颜色。

通过为 Activity UI 中的 content 视图设置这些修饰符,可使 Live Activity 更符合品牌风格或特定活动主题。


修饰符定义

1/**
2 * 用于设置 Live Activity 在锁屏界面显示时的背景着色。
3 */
4activityBackgroundTint?: Color | {
5  light: Color
6  dark: Color
7}
8
9/**
10 * 用于设置 Live Activity 在锁屏界面显示时,系统提供的辅助操作按钮的文本(前景)颜色。
11 */
12activitySystemActionForegroundColor?: Color | {
13  light: Color
14  dark: Color
15}

属性说明

1. activityBackgroundTint

类型: Color | { light: Color; dark: Color } 说明: 设置 Live Activity 在锁屏界面显示时的背景 Tint。 这个颜色会影响系统渲染 Live Activity 主卡片的底色。

使用示例

  • 使用品牌主色作为 Activity 背景
  • 为不同活动提供独立主题色
  • 让内容在亮色或深色背景下更易阅读

2. activitySystemActionForegroundColor

类型: Color | { light: Color; dark: Color } 说明: 设置系统在锁屏的 Live Activity 卡片旁显示的“辅助操作按钮”的文本前景色。 这些操作按钮可能包括暂停、继续、停止等。

使用示例

  • 在深色背景上显示浅色按钮文本
  • 将关键操作按钮突出显示
  • 使用和 UI 一致的主题色

正确示例:在 Live Activity UI Builder 中使用

Live Activity 的 UI builder 必须返回包含多个区域(content / compactLeading / compactTrailing / minimal等)的对象结构。

以下示例展示了如何在 content 区域中使用这两个修饰符:

1function ActivityUIBuilder() {
2  return {
3    content: <VStack
4      activityBackgroundTint={"blue"}
5      activitySystemActionForegroundColor={"white"}
6    >
7      <Text>Workout Progress</Text>
8      <Text>Distance: 1.2 km</Text>
9      <Text>Time: 08:32</Text>
10    </VStack>,
11
12    compactLeading: <Text>1.2 km</Text>,
13    compactTrailing: <Text>08:32</Text>,
14    minimal: <Text>Run</Text>,
15    expanded: {
16      center: <Text>08:32</Text>,
17    }
18  }
19}

使用说明

  • 修饰符仅在 Live Activity UI 中有效,并且只影响 锁屏界面 的外观。
  • 必须在 Live Activity UI builder 的 content 中使用。
  • 如果不设置颜色,系统会使用默认样式。